<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--    filter/map/reduce-->
<h2>filter函数的使用</h2>
<p>filter中的回调函数有一个要求：必须返回一个Boolean值</p>

<p>true：当返回true时，函数内部会自动将这次回调的n加入到新数组中</p>

<p>false：当返回false时，函数内部会过滤掉这次的n</p>

</body>
<script src="../../js/vue.js"></script>
<script>

    const nums = [10, 20, 111, 222, 444, 40, 50]

    /*综合写法*/
    let total = nums.filter(function (n){
        return n < 100
    }).map(function (n){
        return n * 2
    }).reduce(function (preValue, n){
        return preValue + n
    }, 0)
    console.log(total);

  /*
    /!*分步写法*!/
    /!*filter函数的使用*!/
    let newNums = nums.filter(function (n){
        return n < 100
    })
    console.log(newNums);

    /!*map函数的使用*!/
    let new2Nums = newNums.map(function (n){
        return n * 2
    })
    console.log(new2Nums);

    /!*reduce函数的使用*!/
    /!*作用是对数组中所有的内容进行汇总*!/
    let total = new2Nums.reduce(function (preValue, n){
        return preValue + n
    }, 0)
    console.log(total);

*/
</script>
</html>